package com.fand.router.support;

import com.fand.cache.support.CacheEvictSupport;

/**
 * 路由键名
 * 
 * @author yaoHT
 */
public interface RouterKeySupport extends CacheEvictSupport {
	String NAMED_PARAMETER_JDBC_TEMPLATE_GROUP_KEY = "NAMED_PARAMETER_JDBC_TEMPLATE_GROUP_KEY";

	/**
	 * 获取：组标识
	 * 
	 * @param key
	 *            键名
	 * @return 组标识
	 */
	String getGroupId(final String key);

	/**
	 * 获取：键名
	 * 
	 * @param groupId
	 *            组标识
	 * @param value
	 *            键值
	 * @param model
	 *            model
	 * @return 键名
	 */
	String getKey(final String groupId, final String value, final Object model);

	/**
	 * 设置：组标识
	 * 
	 * @param key
	 *            键名
	 * @param groupId
	 *            组标识
	 * @return 组标识
	 */
	String setGroupId(final String key, final String groupId);
}
